Presently, there are various known protocols used to facilitate communications between two or more electronic devices connected together via a common bus or an alternative communications link. Among the best-known and most widely-used of these protocols are USB (Universal Serial Bus), SATA (Serial Advanced Technology Attachment), HDMI (High-Definition Multimedia Interface), Fiber Channel, and IEEE 1394.
IEEE 1394, under the trade names FireWire® (a registered trademark of Apple Computer, Inc.) and i.LINK® (a registered trademark of Sony Corporation), has become widely adopted for use in a variety of consumer, computer, and industrial electronics. It is especially well-suited for use in such applications as data storage, audio and video, networking, and bus-powered peripherals due to its support for both asynchronous and isochronous data at high data transfer rates, both peer-to-peer and master-slave configurations, both daisy-chain and hub-and-spoke arrangements, as well as its guaranteed Quality of Service (QoS), low latency, and low processing overhead.
Networks can be envisioned in layers, including, among other layers, a physical layer (PHY) and a link layer. The PHY refers to network hardware, physical cabling and/or a wireless connection. The PHY is the most basic network layer, providing only the means of transmitting the encoded output of the link layer. The PHY, which is responsible for conversion between the representation of digital data in user equipment and the corresponding signals transmitted over a communications channel, is the layer in which signaling specifications and networking rules are detailed. The link layer is the next layer up from the PHY. The link layer transfers data between adjacent nodes in a network and generally formats and/or manipulates transported data across the PHY for interfacing with an application.
The IEEE 1394 standard was initially specified by the Institute of Electrical and Electronics Engineers (IEEE) in IEEE 1394-1995, entitled IEEE Standard for a High Performance Serial Bus, and has been amended twice, in IEEE 1394a-2000, entitled IEEE Standard for a High Performance Serial Bus—Amendment 1 and IEEE 1394b-2002, entitled IEEE Standard for a High Performance Serial Bus—Amendment 2, all of which are incorporated by reference herein.
IEEE 1394a introduced a Suspended state (defined in IEEE 1394a-2000 3.9.5.2) and a corresponding Resume state for power management. IEEE 1394b added a Standby state (defined in IEEE 1394b-2002 3.10.7.3.1) and a corresponding Restore state for devices operating in Beta mode. Both the Suspended and Standby states are not operational for normal serial bus arbitration, but are otherwise capable of detecting either a physical cable disconnection or a resume or restore signal, hence reducing power consumption while providing for continued monitoring of the physical connection.
A Standby state in IEEE 1394b has certain advantages over a Disabled or Suspended state, primarily because no bus reset is generated as a result of a port entering or leaving the Standby state. This is beneficial in that a bus reset will cause the entire bus to perform a bus initialization procedure. From the standpoint of the PHY, a bus initialization generally takes about 200 microseconds (μs) for a Beta-only bus without loops; if there is a loop (or loops) on the bus, or if the bus is a hybrid bus (i.e., an operating bus that contains at least one border node), then the bus initialization procedure can take considerably longer time. From the transaction level, a bus reset might break the traffic on the bus and clear a pending request in the PHY. Undoubtedly, frequent bus resets will significantly degrade bus performance, and thus overall system performance, and are therefore undesirable.
Unfortunately, with the current IEEE 1394b specification, a PHY port will not always transition to a Standby state as intended. Instead, the PHY port will transition to a Suspended state while its peer port transitions to a Standby state. This does not allow the two ports to be awakened by a single restore action, whereby a connection in Standby state returns to an Active state, and is thus undesirable. Moreover, a bus reset will occur when the PHY port enters into or is resumed from its Suspended state, which is undesirable.
Accordingly, there exists a need for enhancing the transition to a Standby state of the IEEE 1394b protocol or other communications protocol so as to prevent undesired transition into a suspended state rather than a standby state.